home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 5 / Apprentice-Release5.iso / Source Code / C++ / Applications / NeuroSim 1.0 / Slider ƒ / Slider.h < prev    next >
Text File  |  1996-02-19  |  4KB  |  144 lines

  1. // 
  2. // ===========================================================================
  3. //     Slider.h                        ©1994 Scott Squires  
  4. // ===========================================================================
  5. //
  6.  
  7. // ***
  8. // *** NOTE: The HorzSlider::GetSliderValue function has been MODIFIED.
  9. // ***       I'm distributing this modified version with Scott's permission.
  10. // ***
  11. // ***                                Timo Eloranta (02/19/1996)
  12. // ***
  13.  
  14. #pragma once 
  15.  
  16. #include "LView.h"
  17.  
  18. #include <LBroadcaster.h>
  19. #include <QDOffscreen.h>
  20. #include <UGWorld.h>
  21.  
  22. class Slider : public LView, public LBroadcaster {
  23. public:
  24.  
  25.     Slider(void);
  26.     Slider(short BasePictRes, short SliderPictRest);
  27.     Slider(ResIDT BasePictRes, ResIDT SliderPictRes, ResIDT SlideSelectPictRes);
  28.      Slider(LStream *inStream);
  29.      virtual ~Slider(void);
  30.  
  31.     void SetDefaults(void);
  32.     Boolean MakeSlider(void);
  33.  
  34.     void SetPicts(ResIDT BasePictRes, ResIDT SliderPictRes);
  35.     void SetPicts(ResIDT BasePictRes, ResIDT SliderPictRes, ResIDT SlideSelectPictRes);
  36.  
  37.     void OffsetSlider(short Xoffset, short Yoffset);
  38.  
  39.     virtual void DrawSelf();
  40.     Boolean PointInSlider(Point thePoint);
  41.  
  42.     virtual void ClickSelf(const SMouseDownEvent &inMouseDown) =0;  // OverRide
  43.     virtual void TrackSlider(Point oldMouse) =0;                    // OverRide
  44.  
  45.     virtual long GetSliderValue(void) =0;                            // OverRide
  46.     virtual void SetSliderValue(long theValue) =0;                    // OverRide
  47.  
  48.     void SetMinMax(long theMin, long theMax);
  49.     void DoAction(void);
  50.     void BroadcastValueMessage();
  51.     MessageT GetValueMessage() const;
  52.     void SetValueMessage(MessageT inValueMessage);
  53.     void SetCursorFlag(Boolean theFlag);
  54.     void SetSliderOnlyFlag(Boolean theFlag);
  55.  
  56. protected:
  57.  
  58.     ResIDT mBasePictID;                            // PICT res#                    
  59.     ResIDT mSliderPictID;
  60.     ResIDT mSliderSelectPictID;
  61.  
  62.     Rect mBasePictRect;                            // Rectangles
  63.     Rect mSliderRect;
  64.  
  65.     LGWorld *mBaseGWorld;                        // LGWorlds
  66.     LGWorld *mSliderGWorld;
  67.     LGWorld *mSliderSelectGWorld;
  68.     LGWorld *mWorkGWorld;
  69.  
  70.     long mBaseLength;                            // Pixel size of base picture
  71.     long mBaseHeight;
  72.  
  73.     long mMinSliderValue;
  74.     long mMaxSliderValue;
  75.  
  76.  
  77.     MessageT mValueMessage;                        // message to send
  78.     Int32 mValue;                                // true value
  79.  
  80.     Boolean mSelected;                            // true if selected/tracking
  81.     Boolean mSliderCursor;                        // false = hide cursor when tracking, true is default
  82.     Boolean mSliderOnly;                        // true means only the slider itself is active
  83. };
  84.  
  85.  
  86. // 
  87. // ===========================================================================
  88. //     HorzSlider Class                         
  89. // ===========================================================================
  90. //
  91.  
  92. class HorzSlider : public Slider {
  93. public:
  94.     enum {
  95.         class_ID = 'Hsld'
  96.     };
  97.  
  98.  
  99.     HorzSlider();
  100.     HorzSlider(ResIDT BasePictRes, ResIDT SliderPictRes);
  101.     HorzSlider(ResIDT BasePictRes, ResIDT SliderPictRes, ResIDT SlideSelectPictRes);
  102.  
  103.     HorzSlider(LStream *inStream);
  104.     static HorzSlider *CreateHorzSliderStream(LStream *inStream);
  105.  
  106.     virtual ~HorzSlider();
  107.     void TrackSlider(Point oldMouse);
  108.     void ClickSelf(const SMouseDownEvent &inMouseDown);
  109.     long GetSliderValue(void);
  110.     void SetSliderValue(long theValue);
  111.  
  112. };
  113.  
  114.  
  115. // 
  116. // ===========================================================================
  117. //     VertSlider Class                         
  118. // ===========================================================================
  119. //
  120.  
  121. class VertSlider : public Slider {
  122. public:
  123.     enum {
  124.         class_ID = 'Vsld'
  125.     };
  126.  
  127.  
  128.     VertSlider();
  129.     VertSlider(ResIDT BasePictRes, ResIDT SliderPictRes);
  130.     VertSlider(ResIDT BasePictRes, ResIDT SliderPictRes, ResIDT SlideSelectPictRes);
  131.      VertSlider(LStream *inStream);
  132.     static VertSlider *CreateVertSliderStream(LStream *inStream);
  133.  
  134.     virtual ~VertSlider();
  135.     void TrackSlider(Point oldMouse);
  136.     void ClickSelf(const SMouseDownEvent &inMouseDown);
  137.     long GetSliderValue(void);
  138.     void SetSliderValue(long theValue);
  139.  
  140. };
  141.  
  142.  
  143.  
  144.